As the use of computing devices has become more common, the need to share data between computing devices, users and geographies has increased. As a consequence, programs and operating systems that allow file synchronization have become commonplace.
File synchronization involves ensuring that two or more remote computing devices contain the same up-to-date data or files. Additions, changes or deletions of a file at one location will cause changes, deletions or additions to the same file at another location thanks to file synchronization. Synchronization may be one-way or two-ways, and may involve monolithic files (such as word processing files, spreadsheets, or the like) or file changes, such as database entries, deltas or the like.
One-way synchronization involves copying data from a source to a target for synchronizing. Two-way synchronization involves copying files in both directions.
Currently, file synchronization is made possible through third party applications such as Microsoft Synchtoy product, Goodsync or similar product. Likewise, synchronization is a feature present in Microsoft Windows Operating system product.
Existing synchronization tools and methods, however, typically allow synchronization between direct copies of files (i.e. between an ancestor and a direct descendant). Copies of copies of files (i.e. subsequent descendants) can typically not be synchronized with the original file or earlier copies of the file.
Accordingly, there remains a need for methods and software that allow hierarchical synchronization in which subsequent descendants (i.e. subsequent copies) may synchronize with earlier ancestors.